<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

/**
* Controller para efetuar o login e logout do sistema administrativo.
*
* @property \Doctrine\ORM\EntityManager $em Gerenciador de Entidade
*/
class Login extends AdminController {
    
    function __construct()
    {
        parent::__construct();
        $this->layoutFile = "admin/template_login.php";
    }
    
    
    /**
     * Carrega a visualização de login
     *
     */
    public function index(){
        $this->display( 'login/index' );
    }

    /**
     * Efetua a validação do usuário no sistema e efetua o login do mesmo.
     *
     * Caso as credenciais estejam corretas, gravamos as informações de login
     * na sessão.
     *
     */
    public function do_login() {
        // se uma informação ficou em branco,
        // redirecionamos para a tela de login
        if( $this->input->post('login') == '' || $this->input->post('senha') == '' ){
            redirect('admin/login/index/informe_seus_dados');
        }
        
        // nova instancia de usuario
        $user = new Usuarios();

        // pegamos as informações do formulario.
        $user->set_login( $this->input->post( 'login' ) );

        // colocamos a senha em md5
        $user->set_senha( md5( $this->input->post( 'senha' ) ) );

        // faz a consulta obtendo o numero de resultados
        
        $userDao = $this->doctrine->em->getRepository( 'Usuarios' )->findOneBy( array( 'login' => $user->get_login(), 'senha' => $user->get_senha() ) );

        // se não encontrou nada
        if( count( $userDao ) == 0 ) {
            redirect( 'admin/login/index/usuario_nao_encontrado' );
        }
        // se encontrou, colocamos os dados do usuario na sessão
        $_SESSION['usuario'] = $userDao;
        // redirecionamos o usuario para a home.
        redirect( 'admin/home/index' );
    }
    
    /**
     * Efetua o logout do usuario
     *
     * Limpa os dados da seção e envia o usuário para a tela de login
     *
     */
    public function do_logout(){
        unset($_SESSION['usuario']);
        redirect( 'site/home/index' );
    }
}
/* End of file login.php */
/* Location: ./application/controllers/admin/login.php */